前言:操作系统系列实验的blog比较抽象,如有需要可以直接去搬我上传的项目直接用毕竟这几篇都是汇报检查是我打的草稿,内容很乱链接如下:可运行项目文件直达
注意:
这几个项目无需求直接 boch 运行即可,make编译报错解决方案如下该项目是可以直接运行的,不用麦克编译,如果你编译报错并且弹出gcc和一个路径字样说明是gcc版本问题如图:project3make报错解决
(系统里那个路径下自带的是4.4和4.4.3的gcc),而这个项目太老运行需要3.4.6的(更新降级又太麻烦),这里介绍一个简单的方法。
1234sudo -icp -R /usr/lib/gcc/i486-linux-gnu/4.4.3 /usr/lib/gcc/i486-linux-gnu/3.4.6cp /usr/lib/gcc/i486-linux-gnu/3.4.6/include-fixed/limits.h /usr/lib/gcc/i486-linux-gnu/3.4.6/include/cp /usr/lib/gcc/i486-linux-gnu/3.4.6/include-fixed/sys...
B+树的功能实现1. 在insertToNode函数中,完成if语句中的两个TODO。此时你的代码应该可以完成简单的数据插入、判断重复的key,能够通过测试样例1。123456789101112131415161718192021222324252627282930313233343536long insertToNode(Node *node, long key, long value) { if (node->n > MAX_KEY) { return -1; // 已经超过MAX_KEY了,说明split功能没有写好,要检查splitNode函数 } long current_idx = searchKeyInNode(node, key); if (node->isLeaf) { // 如果已存在相同的键,返回-1 if (current_idx > -1 && node->key[current_idx] == key)...
针对 SPJ_MNG 数据库,创建并执行存储过程第1关:创建一个无参数的存储过程—jsearch1123456789101112131415-- 使用指定的数据库USE SPJ_MNG;-- 更改语句结束符为 //DELIMITER //-- 创建存储过程 jsearch1CREATE PROCEDURE jsearch1()BEGIN -- 查询 S 表中城市为北京的所有记录 SELECT * FROM s WHERE CITY = '北京';END //-- 恢复默认的语句结束符为 ;DELIMITER ;
第2关:创建带输入参数的存储过程—jsearch2123456789101112131415-- 使用指定的数据库USE SPJ_MNG;-- 更改语句结束符为 //DELIMITER //-- 创建存储过程 jsearch2CREATE PROCEDURE jsearch2(IN city_name VARCHAR(10))BEGIN -- 查询 S 表中城市为 city_name 的所有记录 SELECT * FROM s...
前言:操作系统系列实验的blog比较抽象,如有需要可以直接去搬我上传的项目直接用毕竟这几篇都是汇报检查是我打的草稿,内容很乱链接如下:可运行项目文件直达
参考来源:1.操作系统课程设计geekos project1-3
2.操作系统课程设计
总结用户态进程创建流程在GeekOS中,用户态进程的创建涉及多个步骤,从加载可执行文件到最终将新进程加入就绪队列等待运行。下面是用户态进程创建的主要流程总结:
调用 Spawn 函数:
Spawn 函数是创建用户态进程的入口点。
该函数接收要加载的可执行文件路径 (program) 和命令行参数 (command) 以及指向 Kernel_Thread 的指针 (pThread)。
读取可执行文件:
使用 Read_Fully 函数将可执行文件的内容读入内存缓冲区。
解析 ELF 文件:
调用 Parse_ELF_Executable 函数分析 ELF 格式的可执行文件,获取段信息、入口地址等关键数据。
初始化并加载用户程序:
调用 Load_User_Program 函数来处理以下任务:
计算用户程序所需的内存空间,包...
前言:操作系统系列实验的blog比较抽象,如有需要可以直接去搬我上传的项目直接用毕竟这几篇都是汇报检查是我打的草稿,内容很乱链接如下:可运行项目文件直达
实验二:ELF可执行文件加载注意!!!!首先,确保修改makefile中的177,178行推荐点击桌面的linktowork,将makefile——boshsrc中的project1中的文件,替换你的实验目录中的两个文件(makefile和boshsrc)
12GENERAL_OPTS := -O -Wall $(EXTRA_C_OPTS)CC_GENERAL_OPTS := $(GENERAL_OPTS) -fno-stack-protector
任务一 1.修改Project1项目中的/GeekOS/elf.c文件:在函数Parse_ELF_Executable()中添加代码,分析ELF格式的可执行文件(包括分析得出ELF文件头、程序头),获取可执行文件长度、代码段、数据段等信息,并打印输出。并且,填充Exe_Format数据结构中的值域。
解析:该任务我们只需要修改/GeekOS/e...
太累了,不想好好写了,就发个草稿了
前言:操作系统系列实验的blog比较抽象,如有需要可以直接去搬我上传的项目直接用毕竟这几篇都是汇报检查是我打的草稿,内容很乱链接如下:可运行项目文件直达
geekos键盘驱动12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616...
Canny 边缘检测参考:Canny 边缘检测
目标Canny 边缘检测的概念用于该函数的 OpenCV 函数 : cv.Canny()
理论Canny Edge Detection 是一种流行的边缘检测算法。
1.这是一个多阶段算法,我们将介绍每个阶段。2.Noise Reduction由于边缘检测容易受到图像中杂色的影响,因此第一步是使用 5x5 高斯滤波器去除图像中的杂色。我们在前面的章节中已经看到了这一点。
3.求图像的强度梯度然后,使用 Sobel 核在水平和垂直方向上过滤平滑后的图像,以获得水平方向的一阶导数 (Gx) 和垂直方向 (Gy).从这两张图片中,我们可以找到每个像素的边缘渐变和方向,如下所示:
$$Edge_Gradient ; (G) = \sqrt{G_x^2 + G_y^2} \ Angle ; (\theta) = \tan^{-1} \bigg(\frac{G_y}{G_x}\bigg)$$
渐变方向始终垂直于边缘。它四舍五入为代表垂直、水平和两个对角线方向的四个角之一。
4.Non-maximum Suppression在获...
前言(注意!!!)理论SQLoj题目发现有如下错误。1.第二题查找的电影发行年份(电影上映日期字段中提取),排序才是按前面的电影年份。( 非错误,应该是理解会有歧义的题目描述)2.第11题查询喜剧电影中评分最高的前三名的电影名称,除名称外还需要返回这三者的评分(题目错误)3.第12题查询与唐国强共同出演同一部影片的演员id和姓名(实际要求的答案是演员姓名和id(顺序描述错误))(题目错误)4.第14题查询评分最高的科幻电影的名称。除了名称之外还需要返回其平均评分。(题目错误)
题目要求1.列出所有姓张的导演的导演编号和姓名信息
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211...
实验三:数据库完整性与安全性控制用 SQL 语句授权和收回权限并对权限加以验证第1关:查询权限、更新权限mysql -h127.0.0.1 -uroot -p123123 < /data/workspace/myshixun/Company.sql
SHOW GRANTS FOR '刘星'@'localhost';
1234567891011-- 选择 company 数据库USE Company;-- 创建用户刘星CREATE USER '刘星'@'localhost' IDENTIFIED BY '123456';-- 赋予刘星对职工表(假设表名为e)的查询权限GRANT SELECT ON Company.e TO '刘星'@'localhost';-- 赋予刘星对职工表中工资字段的更新权限GRANT UPDATE (`esalary`) ON Company.e TO '刘星'@'localhost...
在云服务器上安装代理软件:
使用 Shadowsocks 或 V2Ray。以下是 Shadowsocks 的安装示例:12sudo apt updatesudo apt install shadowsocks-libev
配置 Shadowsocks:
编辑配置文件(通常位于 /etc/shadowsocks-libev/config.json),设置以下内容:12345678{ "server":"云服务器公网IP", "port_password":{ "8388":"密码" // 设置端口和密码 }, "timeout":300, "method":"aes-256-gcm"}
启动 Shadowsocks 服务:1sudo systemctl restart shadowsocks-libev
在局域网的 Debian 12 服务器上设置隧道:...